home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / dircache.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  1KB  |  51 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. '''Read and cache directory listings.
  5.  
  6. The listdir() routine returns a sorted list of the files in a directory,
  7. using a cache to avoid reading the directory more often than necessary.
  8. The annotate() routine appends slashes to directories.'''
  9. import os
  10. __all__ = [
  11.     'listdir',
  12.     'opendir',
  13.     'annotate',
  14.     'reset']
  15. cache = { }
  16.  
  17. def reset():
  18.     '''Reset the cache completely.'''
  19.     global cache
  20.     cache = { }
  21.  
  22.  
  23. def listdir(path):
  24.     '''List directory contents, using cache.'''
  25.     
  26.     try:
  27.         (cached_mtime, list) = cache[path]
  28.         del cache[path]
  29.     except KeyError:
  30.         cached_mtime = -1
  31.         list = []
  32.  
  33.     mtime = os.stat(path).st_mtime
  34.     if mtime != cached_mtime:
  35.         list = os.listdir(path)
  36.         list.sort()
  37.     
  38.     cache[path] = (mtime, list)
  39.     return list
  40.  
  41. opendir = listdir
  42.  
  43. def annotate(head, list):
  44.     """Add '/' suffixes to directories."""
  45.     for i in range(len(list)):
  46.         if os.path.isdir(os.path.join(head, list[i])):
  47.             list[i] = list[i] + '/'
  48.             continue
  49.     
  50.  
  51.